As a most fundamental radio access technology, channel encoding plays a crucial role in ensuring reliable data transmission. In an existing wireless communications system, channel encoding is usually performed by using a turbo code, a low-density parity-check (Low-Density Parity-Check, LDPC) code, or a polar code. The turbo code cannot support information transmission at an excessively low or high code rate. For transmission of medium and small packets, due to encoding and decoding characteristics of the turbo code and the LDPC code, it is difficult to achieve desired performance of the turbo code and the LDPC code in a case of a limited code length. In terms of implementation, the turbo code and the LDPC code in an encoding and decoding implementation process have relatively high computing complexity. The polar code has been theoretically proved to achieve a Shannon capacity and has relatively low encoding and decoding complexity, and therefore is widely applied.
The polar code is a linear block code. A generator matrix of a polar code is FN, and an encoding process of a polar code is x1N=u1N·FN. u1N=(u1, u2, u3, . . . uN) is a binary row vector with a length of N, where N=2n, and n is a positive integer. In an encoding process of the polar code, some bits in u1N are used to carry information, and are referred to as information bits. A set of indexes of the information bits is denoted as A. The other bits in u1N are set to fixed values that are pre-agreed on by a receive end and a transmit end, and are referred to as fixed bits. The encoding process of the polar code mainly depends on a process of selecting the set A, and the set A decides performance of polar encoding and decoding. Most existing polar encoding solutions use an online computing or offline storage manner to determine a sequence number set of information bits. Because the online computing manner considers no parameter of an actual channel, a decoding failure is easily caused by different computing precision between transmit and receive ends, and a latency and complexity of online computing are relatively high. In the offline storage manner, to support various combinations of code lengths and code rates, transmit and receive ends need to store a large quantity of mother code sequences, resulting in huge storage overheads and lack of flexibility.
With rapid evolution of wireless communications systems, a future communications system (for example, 5G) exhibits some new characteristics. For example, three most typical communication scenarios include: enhanced mobile broadband (eMBB), massive machine type communications (mMTC), and ultra-reliable and low latency communications (URLLC). These communication scenarios impose higher requirements on data transmission in aspects such as reliability, complexity, flexibility, and a latency. In addition, an important characteristic that distinguishes eMBB and mMTC from an existing Long Term Evolution (LTE) technology lies in transmission of medium and small packets, and therefore channel encoding is required to better support communication of such code lengths.
Therefore, to meet higher requirements of the future wireless communications system on data transmission in aspects such as a code rate, reliability, a latency, flexibility, and complexity, a new encoding and decoding technology is urgently needed, to overcome disadvantages of a channel encoding technology in the prior art in these aspects.